package com.bbseguros.pesquisador.converter;

import java.util.HashMap;
import java.util.StringTokenizer;

import org.apache.log4j.Logger;

/**
 * @author hmsilva
 *
 */
public class ChangeToXML {
	private static Logger logger = Logger.getLogger(ChangeToXML.class);
	private HashMap<String , String> map;
	
	public ChangeToXML(String value){		
		
		value = value.replace("}", "");
		value = value.replace("{", "");		
		
		StringTokenizer token = new StringTokenizer(value,",");		
		map = new HashMap<String, String>();
		
		while (token.hasMoreElements()) {
			String object = (String) token.nextElement();
			
			if(object.startsWith(" ")){
				object = object.substring(1);
			}
			
			int index = object.indexOf("=");
			
			logger.debug(object.substring(0,index)+"|"+object.substring(index+1));
			map.put(object.substring(0,index), object.substring(index+1));
		}
	}
	
	public ChangeToXML(HashMap<String, String> map){		
		this.map = map;
	}
		
	private String getValue(String key){
		String toReturn = map.get(key);
		
		if(toReturn == null){
			toReturn = "";
		}
		return toReturn;
	}	
	
	public String change(String codPesquisador){
		
		XMLTemplate template = new XMLTemplate();
		
		template.NOME_CLIENTE = getValue("Nome");
		template.CPFCNPJ = getValue("CPF");
		template.CORRENTISTA_BB = getValue("E Correntista BB");
		template.CLIENTE_BV = getValue("E Cliente BB Seguro Auto");
		template.DDD_RES = getValue("DDD Residencial");
		template.NR_FONE_RES = getValue("Tel. Residencial");
		template.DDD_COM = getValue("DDD Comercial");
		template.NR_FONE_COM = getValue("Tel. Comercial");
		template.DDD_CEL = getValue("DDD Celular");
		template.NR_FONE_CEL = getValue("Tel. Celular");
		template.RECEBE_SMS = getValue("Autorizo o envio de SMS para receber ofertas BB Seguro Auto");
		template.FLAG_WORKSITE = getValue(" Acao e worksite");
		//template.COD_ACAO = getValue("Acao");
		//template.COD_LOCAL = getValue("Local");
		//template.COD_FORMA = getValue("Forma");
		template.COD_PESQUISADOR = codPesquisador;
		template.veiculo1_MARCAVEICULO = getValue("Fabricante");
		template.veiculo1_ANOVEICULO = getValue("Ano");				
		template.veiculo1_VENCIMENTO = formatVencimento(getValue("Vencimento/Data de Contrato"));		
			
		
		return template.getXML();		
	}
	
	private String formatVencimento(String vencimento){
		String toReturn = vencimento;
		int index = toReturn.lastIndexOf("/");
		
		toReturn = toReturn.substring(0, index + 1) + "20"+toReturn.substring(index + 1);
		
		return toReturn;		
	}
	
	public static void main(String[] args) {
		String a = "28.56.55.77";
		
		while (a.indexOf(".") != -1) {
			a = a.replace(".", "");			
		}
		
		
		System.out.println(a);		
	}
}
